/*
* @(#)JavaDrawViewer.java 5.1
*
*/
package CH.ifa.draw.samples.javadraw;
import java.applet.Applet;
import java.awt.BorderLayout;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import CH.ifa.draw.framework.Drawing;
import CH.ifa.draw.framework.DrawingEditor;
import CH.ifa.draw.framework.DrawingView;
import CH.ifa.draw.framework.Tool;
import CH.ifa.draw.standard.StandardDrawing;
import CH.ifa.draw.standard.StandardDrawingView;
import CH.ifa.draw.util.Iconkit;
import CH.ifa.draw.util.StorableInput;
public class JavaDrawViewer extends Applet implements DrawingEditor {
private Drawing fDrawing;
private Tool fTool;
private StandardDrawingView fView;
private Iconkit fIconkit;
public void init() {
setLayout(new BorderLayout());
fView = new StandardDrawingView(this, 400, 370);
add("Center", fView);
fTool = new FollowURLTool(view(), this);
fIconkit = new Iconkit(this);
String filename = getParameter("Drawing");
if (filename != null) {
loadDrawing(filename);
fView.setDrawing(fDrawing);
} else
showStatus("Unable to load drawing");
}
private void loadDrawing(String filename) {
try {
URL url = new URL(getCodeBase(), filename);
InputStream stream = url.openStream();
StorableInput reader = new StorableInput(stream);
fDrawing = (Drawing)reader.readStorable();
} catch (IOException e) {
fDrawing = new StandardDrawing();
System.out.println("Error when Loading: " + e);
showStatus("Error when Loading: " + e);
}
}
/**
* Gets the editor's drawing view.
*/
public DrawingView view() {
return fView;
}
/**
* Gets the editor's drawing.
*/
public Drawing drawing() {
return fDrawing;
}
/**
* Gets the current the tool (there is only one):
*/
public Tool tool() {
return fTool;
}
/**
* Sets the editor's default tool. Do nothing since we only have one tool.
*/
public void toolDone() {}
/**
* Ignore selection changes, we don't show any selection
*/
public void selectionChanged(DrawingView view) {}
}